Wstęp

Co to jest PISA?

PISA, czyli Programme for International Student Assessment to międzynarodowe badanie, którego zadaniem jest uzyskanie porównywalnych danych o umiejętnościach uczniów którzy ukończyli 15 rok życia.

Punktem wyjścia jest pojęcie alfabetyzmu (ang. literacy), czyli „zdolności stosowania wiedzy i umiejętności, analizowania, argumentowania i efektywnego komunikowania w procesie stawiania, rozwiązywania i interpretowania problemów w różnych sytuacjach”.

W badaniu PISA wyróżniono trzy podstawowe dziedziny: czytanie i interpretacja (ang. reading literacy), matematyka (mathematical literacy) i rozumowanie w naukach przyrodniczych (scientific literacy).

Badanie realizowane jest regularnie co trzy lata, począwszy od 2000r.

PISA 2018

Ostatnie badanie PISA odbyło się w roku 2018. W badaniu tym uczestniczyło 79 krajów i regionów, a liczba przebadanych uczniów przekroczyła 660 tys. Polskę reprezentowało 5653 uczniów z 227 szkół. Każdy z uczniów zdobywał podczas padania pewną liczbę punktów, która następnie przeliczana była na ocenę w skali 1 - 6.
Najniższa ocena (1) była dzielona na:
1a, 1b, 1c w przypadku badania “czytanie i interpretacja”,
1a, 1b w przypadku badania “rozumowanie w naukach przyrodniczych”.
Uczeń mógł również otrzymać za mało punktów, aby zakwalifikować się na jakąkolwiek ocenę.
Ten raport ma na celu przedstawienie wyników badania PISA 2018 z podziałem na państwa. Aby zobaczyć liczbę punktów potrzebnych do zakwalifikowania się do danej oceny proszę najechać kursorem na odpowiednią kolumnę.

Wyniki testu “czytanie i interpretacja”

Poniżej znajduje się interaktywny wykres przedstawiający wyniki badania PISA 2018 w kategori “czytanie i interpretacja” (ang. reading literacy) z podziałem na państwa (lub regiony).

library(plotly)
library(dplyr)
reading_percentages <- read.csv("./reading_percentages.csv")
reading_percentages %>% select(!X) -> reading_percentages

countries <- colnames(reading_percentages)[-79]
falses <- rep(FALSE, 79)


plot <- plot_ly(x = reading_percentages$levels)
plot %>% 
  add_trace(type = 'bar',
  color = "red",
  y = reading_percentages[[countries[1]]], visible = T,
  hovertext = c("<189.33",
           "189.33 - 262.04",
           "262.04 - 334.75",
           "334.75 - 407.47", 
           "407.47 - 480.18", 
           "480.18 - 552.89", 
           "552.89 - 625.61", 
           "625.61 - 698.32", 
           ">698.32"),
  hovertemplate = paste('<b>Level %{x}\n%{hovertext} points\n%{y}% students</b><extra></extra>')) -> plot

for (country in countries[-1]) {
  plot %>% 
    add_trace(type = 'bar',
              color = "red",
    y = reading_percentages[[country]], visible = F,
    hovertext = c("<189.33",
           "189.33 - 262.04",
           "262.04 - 334.75",
           "334.75 - 407.47", 
           "407.47 - 480.18", 
           "480.18 - 552.89", 
           "552.89 - 625.61", 
           "625.61 - 698.32", 
           ">698.32"),
  hovertemplate = paste('<b>Level %{x}\n%{hovertext} points\n%{y}% students</b><extra></extra>')) -> plot
}




buttons <- list()
i <- 1
for (country in countries) {
  falses[i] <- TRUE
  buttons %>% 
    append(
      list(
      list(method = "restyle",
                args = list("visible", falses),
                label = country)
      )) -> buttons
  falses[i] <- FALSE
  i <- i + 1
}




p <- plot %>% 
  layout(
    updatemenus = list(
      list(
        yanchor = 'auto',
        buttons = buttons)),
    title = "PISA 2018 proficiency in reading",
    xaxis = list(title = "",
                 categoryorder = "array",
                 categoryarray = ~levels),
    yaxis = list(title = "% of all students"),
    showlegend = FALSE
  ) %>% 
  config(displayModeBar = FALSE)
p

Wyniki testu “matematyka”

Poniżej znajduje się interaktywny wykres przedstawiający wyniki badania PISA 2018 w kategori “matematyka” (ang. mathematica literacy) z podziałem na państwa (lub regiony).

library(plotly)
library(dplyr)
math_percentages <- read.csv("./math_percentages.csv")
math_percentages %>% select(!X) -> math_percentages
countries <- colnames(math_percentages)[-79]
falses <- rep(FALSE, 79)


plot <- plot_ly(x = math_percentages$levels)
plot %>% 
  add_trace(type = 'bar',
            color = "red",
  y = math_percentages[[countries[1]]], visible = T,
  hovertext = c("<357.77",
                "357.77 - 420.07",
                "420.07 - 482.38",
                "482.38 - 544.68", 
                "544.68 - 606.99", 
                "606.99 - 669.30", 
                ">669.30"),
  hovertemplate = paste('<b>Level %{x}\n%{hovertext} points\n%{y}% students</b><extra></extra>')) -> plot

for (country in countries[-1]) {
  plot %>% 
    add_trace(type = 'bar',
              color = "red",
    y = math_percentages[[country]], visible = F,
  hovertext = c("<357.77",
                "357.77 - 420.07",
                "420.07 - 482.38",
                "482.38 - 544.68", 
                "544.68 - 606.99", 
                "606.99 - 669.30", 
                ">669.30"),
  hovertemplate = paste('<b>Level %{x}\n%{hovertext} points\n%{y}% students</b><extra></extra>')) -> plot
}




buttons <- list()
i <- 1
for (country in countries) {
  falses[i] <- TRUE
  buttons %>% 
    append(
      list(
      list(method = "restyle",
                args = list("visible", falses),
                label = country)
      )) -> buttons
  falses[i] <- FALSE
  i <- i + 1
}




p <- plot %>% 
  layout(
    updatemenus = list(
      list(
        yanchor = 'auto',
        buttons = buttons)),
    title = "PISA 2018 proficiency in mathematics",
    xaxis = list(title = "",
                 categoryorder = "array",
                 categoryarray = ~levels),
    yaxis = list(title = "% of all students"
                 ),
    showlegend = FALSE
  )%>% 
  config(displayModeBar = FALSE)
p

Wyniki testu “rozumowanie w naukach przyrodniczych”

Poniżej znajduje się interaktywny wykres przedstawiający wyniki badania PISA 2018 w kategori “rozumowanie w naukach przyrodniczych” (scientific literacy) z podziałem na państwa (lub regiony).

library(plotly)
library(dplyr)
math_percentages <- read.csv("./science_percentages.csv")
math_percentages %>% select(!X) -> math_percentages
countries <- colnames(math_percentages)[-79]
falses <- rep(FALSE, 79)


plot <- plot_ly(x = math_percentages$levels)
plot %>% 
  add_trace(type = 'bar',
            color = "red",
  y = math_percentages[[countries[1]]], visible = T,
  hovertext = c("<260.54",
                "260.54 - 334.94",
                "334.94 - 409.54",
                "409.54 - 484.14", 
                "484.14 - 558.73", 
                "558.73 - 633.33", 
                "633.33 - 707.93",
                ">707.93"),
  hovertemplate = paste('<b>Level %{x}\n%{hovertext} points\n%{y}% students</b><extra></extra>')) -> plot

for (country in countries[-1]) {
  plot %>% 
    add_trace(type = 'bar',
              color = "red",
    y = math_percentages[[country]], visible = F,
  hovertext = c("<260.54",
                "260.54 - 334.94",
                "334.94 - 409.54",
                "409.54 - 484.14", 
                "484.14 - 558.73", 
                "558.73 - 633.33", 
                "633.33 - 707.93",
                ">707.93"),
  hovertemplate = paste('<b>Level %{x}\n%{hovertext} points\n%{y}% students</b><extra></extra>')) -> plot
}




buttons <- list()
i <- 1
for (country in countries) {
  falses[i] <- TRUE
  buttons %>% 
    append(
      list(
      list(method = "restyle",
                args = list("visible", falses),
                label = country)
      )) -> buttons
  falses[i] <- FALSE
  i <- i + 1
}




p <- plot %>% 
  layout(
    updatemenus = list(
      list(
        yanchor = 'auto',
        buttons = buttons)),
    title = "PISA 2018 proficiency in science",
    xaxis = list(title = "",
                 categoryorder = "array",
                 categoryarray = ~levels),
    yaxis = list(title = "% of all students"
                 ),
    showlegend = FALSE
  )%>% 
  config(displayModeBar = FALSE)
p

Rezultat

Rozwinięte państwa dalekiego wschodu osiągnęły najlepsze wyniki w badaniu PISA 2018 (podobnie jak w latach poprzedzających). Również dorze wypadają panstwa takie jak Estonia, Kanada czy Finlandia. Najsłabiej poradzili sobie uczniowie państw rozwijających się, co przypuszczalnie ma związek z mniej rozwiniętym systemem edukacji w tych krajach. Polska zajęła dziesiąte miejsce spośród wszystkich przebadanch krajów w “czytaniu i interpretacji” oraz matamtyce, zaś w “rozumowanie w naukach przyrodniczych” - jedenaste miejsce.